package com.bh.vehicle.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.bh.common.annotation.Dict;
import com.bh.common.annotation.Excel;
import com.bh.common.core.domain.BhtmsBaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 承运商对象 jc_carrier
 *
 * @author slx
 * @date 2023-04-24
 */
@EqualsAndHashCode(callSuper = true)
@TableName("jc_carrier")
@Data
public class JcCarrier extends BhtmsBaseEntity {
    



    /** 联系地址 */
    @ApiModelProperty("联系地址")
    @Excel(name = "联系地址")
    private String address;

    /** 承运商类型 */
    @ApiModelProperty("承运商类型")
    @Excel(name = "承运商类型")
    private Integer carrierType;

    /** 合同开始日期 */
    @ApiModelProperty("合同开始日期")
    @JsonFormat(timezone="GMT+8", pattern = "yyyy-MM-dd")
    @Excel(name = "合同开始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startTime;

    /** 合同结束日期 */
    @ApiModelProperty("合同结束日期")
    @JsonFormat(timezone="GMT+8", pattern = "yyyy-MM-dd")
    @Excel(name = "合同结束日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /** 承运商电话 */
    @ApiModelProperty("承运商电话")
    @Excel(name = "承运商电话")
    private String iphone;

    /** 是否启用 */
    @ApiModelProperty("是否启用")
    @Excel(name = "是否启用")
    private Integer isEnabled;

    /** 账期 */
    @ApiModelProperty("账期")
    @Excel(name = "账期")
    private Long paymentDays;

    /** 负责人 */
    @ApiModelProperty("负责人")
    @Excel(name = "负责人")
    private String principal;

    /** 负责人电话 */
    @ApiModelProperty("负责人电话")
    @Excel(name = "负责人电话")
    private String principalIphone;

    /** 组织机构 */
    @Dict(dictTable = "jc_sys_organization", dictLabel = "name", dictValue = "id")
    @ApiModelProperty("组织机构")
    @Excel(name = "组织机构")
    private Long jcOrganizationId;

    @Excel(name = "组织机构")
    @TableField(exist = false)
    private String jcOrganizationIdDtLabel;

    /** 指定组织机构 */
    @Dict(dictTable = "jc_sys_organization", dictLabel = "name", dictValue = "id")
    @ApiModelProperty("指定组织机构")
    @Excel(name = "指定组织机构")
    private String zdOrganizationId;


    @Excel(name = "指定组织机构")
    @TableField(exist = false)
    private String zdOrganizationIdDtLabel;


    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("code", getCode())
                .append("createName", getCreateName())
                .append("createTime", getCreateTime())
                .append("description", getDescription())
               
                .append("modifyName", getModifyName())
                .append("modifyTime", getModifyTime())
                .append("name", getName())
                .append("status", getStatus())
                .append("address", getAddress())
                .append("carrierType", getCarrierType())
                .append("endTime", getEndTime())
                .append("iphone", getIphone())
                .append("isEnabled", getIsEnabled())
                .append("paymentDays", getPaymentDays())
                .append("principal", getPrincipal())
                .append("principalIphone", getPrincipalIphone())
                .append("startTime", getStartTime())
                .append("jcOrganizationId", getJcOrganizationId())
                .append("zdOrganizationId", getZdOrganizationId())
                .toString();
    }
}
